home *** CD-ROM | disk | FTP | other *** search
- -*-text-*-
-
- The is the README for ME2. It contains full source for:
- ME2 (the Mutt Editor v2.3)
- MC2 (the Mutt Compiler v2.1)
- a Compute Server (v1.0)
- various libraries
- Mutt extensions to ME2
-
- Released:
- 2.0: February 29, 1992 (beta)
- 2.2: April 12, 1992 (MS-DOS and OS2 ports, bug fixes)
- 2.3 May 10, 1992 (Atari port, minor enhancements)
- 2.4: August 9, 1992 (regular expression bug fixes, a PC screen width
- bug fix)
-
-
- This release is targeted at Unix, MS-DOS, OS/2 and Atari. I've tried to
- write the code as portablly as possible (in C and ANSI C) so hopefully
- it should be "easy" to port to other platforms (that support C).
-
- This stuff is released as GNU Ware - use, share and enjoy.
-
-
-
- What is ME2?
- ---- -- ----
-
- ME2 is a medium-small, portable, extendable Emacs' like editor that
- is known to compile and run on HP-UX (Series 800, 700 and 300), BSD Unix
- (Sun, Apollo, DEC, etc), IBM AIX, OSF/POSIX (HP and DEC), MS-DOS/PC-DOS
- (IBM PCs and compatibles), OS/2 and Atari (TOS and MiNT). Standalone,
- ME2 is pretty mundane - you need to customize it to make full use of it.
- A compiled language is provided for this as well as lots of example
- programs: a C mode, paren matching, a visual towers of hanoi,
- incremental searching, programmers calculator, mark rings, multi file
- search (and replace) picture mode (from GNU Emacs), gomoku (from GNU
- Emacs) and lots more. Other features include the ability to have
- concurrent processes (such as make) running in a buffer (Unix only).
-
-
-
- How to Compile and Install ME2
- --- -- ------- --- ------- ---
-
- Compiling
- ---------
-
- Edit util/os.h so it matches your OS.
- Edit mc2/mm.h so that it matches your OS.
- Edit me2/config.h so that it matches what you what ME2 to support.
- Edit me2/compile so that it matches your OS and config.h.
- Edit ./compile for the CFLAGS you want.
- Type "./compile" in this directory and it will compile all the
- subdirectories.
-
- Notes:
- I've run the compile scripts (and tested the results) on:
- HP-UX 8.0 series 300 (K&R "-O" and Ansi C "-Aa -O")
- HP-UX 7.05 series 300 (K&R "-O")
- HP-UX 7.0 series 800 (K&R "-O" and Ansi C "-Aa -O")
- HP OSF/1 1.0 Operating System A.01.00 ("" - DON'T use -O)
- Apollo 68k SR10.4 BSD (psudeo Ansi C "-O" and Ansi C "-O -Aansi").
- Make sure to set DOMAIN_OS in util/os.h.
- The compiles will complain (lots) about varargs and select. You
- can ignore these. I'm pretty sure the varargs complaints are
- groundless. If you get tired of the messages, you can put
- "-U__STDC__" in the compile flags.
- Sun SparcStation 2, SunOS Release 4.1.1 ("-O")
- IBM RS/6000, AIX Version 3.1 ("-O"). AIX 3.2 ("-O" or ANSI C
- "CC=c89"). Make sure you use -lcurses in me2/compile and set
- AIX_OS in util/os.h.
- DEC 3100 OSF/1 ("-O"). Not much testing done.
- DECstation 5000/200 ULTRIX V4.2 ("-O"). You may need to set
- FOPEN_BINARY (me2/config.h). On this version of ULTRIX, "rb" is
- OK.
- They should run on other Unix boxes but I can't test everything.
- Let me know if you find problems.
-
- Unixes that kinda work:
- UNIX_System_V 4.1.0 V4ES i386 x86at (a 486 running a SYS V unix).
- To get this to compile:
- - change the #includes of time.h to sys/time.h (./me2/process.c,
- ./me2/unixio.c, ./comserver/comserver.c).
- - in comserver/compile and me2/compile, add "-lsocket -lnsl" to
- the cc line so the socket code will link.
- - or just turn off the compute server (in me2/config.h) and
- don't worry about the socket code. See why below.
- Problem areas:
- - getcwd() (called from util/canonize.c) gets an access error.
- Maybe its the way my system is set up. To get around this,
- you have to run me2 setuid root. Not a very good idea.
- - Some of the termcaps don't seem right. Use a "xterm" TERM var
- for xterms, "vt100" doesn't work.
- - The compute server doesn't work very well with SYS V signals -
- ME2 will get a signal (from the compute server) while signals
- turned off and dump (not a problem with BSD like signals).
- Maybe linking in /usr/ucblib/libucb.a would work (BSD
- signals). Nope - seemed to fix the signal problem but broke
- the LED lib and filename completion. I really shouldn't use
- signals for interprocess communication.
-
- Unixes not supported:
- Apollo SysV (probably any "real" Sys V Unix)
- Sockets are not supported so you need to turn off the compute
- server (in config.h) and don't compile the comserver directory.
- unixio.c has compile problems:
- Change #include <time.h> to <sys/time.h> (why?).
- termio.h doesn't seem to be supported so try USE_BSDIO.
- select() needs to be updated to use the "new" structures. I
- would do this but its yet another #ifdef and I'm getting tired
- of them.
- Other than that, the other directories seem to compile and work.
- Your best bet is just to compile under BSD.
- If you fix this stuff, send the the changes so I can add them to
- my copies.
-
-
- MS-DOS:
- The compile scripts won't run but should give you an idea of what
- needs to be done. See below.
-
- John Burnell has ported ME2 to PC-DOS:
- Compiler: JPI Topspeed C ("__TSC__").
- ME2:
- Use the large memory model (1 meg code and data). Remember to
- compile the libraries that way also.
- Use FASTVIDEO (me2/config.h)
- Build files (see me2/compile):
- terminal=
- termlib=
- io=misc/pcio.c
- keymap=misc/pckmap.c
- fileio=fileio.c
- process=
- fastvideo=misc/pcfv.c
- spam =
- The util directory:
- fxpand.c uses some Lattice C calls that may not be in other
- Cs. If this is the case for your compiler, check out
- util/misc/ibmdir.c and util/misc/ibmdir.h to see if they
- will work. If so, move all files in misc/ to util/ and add
- them to the utils library.
- Other programs:
- The other programs can use the small code, large data model.
- The compute server is not supported.
-
- OS/2 (port by John Burnell):
- Compiler: JPI Topspeed C ("__TSC__").
- OS/2 1.3 on a FAT drive, not sure whether it will support HPSF
- filenames (probably not since it uses the MSDOS code to parse
- filenames, although it may cope with long filenames). Certainly
- it does nothing with EAs at present.
- To compile it, configure the system for MSDOZ (util/os.h), except
- replace the DOS files with the corresponding OS/2 ones viz:
- ./util replace ibmdir.c with os2dir.c
- ./me2/misc replace pcfile.c with os2filio.c
- replace pcio.c with os2io.c
- don't use pcfv.c
-
-
- Atari ST TOS and MiNT (port and Makefiles by Jwahar R. Bammi):
- Read ./Makefile for more info.
-
-
- I'd like to keep a list of systems that have compiled and run ME2 and
- those systems that don't. Please send me info if your system is not
- listed. Also send bug reports/fixes.
-
-
- Installing
- ----------
-
- Use the install script (as root) or:
- Copy me2/me2 and mc2/mc2 to /usr/local/bin or to a directory in your
- PATH.
- Copy mutt2/*.mco to /usr/local/lib/me2 or where you specified in
- config.h. Or leave them where they are and use the ME2 environment
- variable (which is what I do). See "load" in me2/doc/me2.doc for more
- about this var.
-
- As a quick test, run me2, hit Escape x load <return> ganoi <return> and
- use 4 disks. If you get the towers of hanoi, things are probably
- working pretty good.
-
- Read all the documentation (see ./contents for a list).
-
-
-
- Customizing
- -----------
-
- Read the "Customizing me2.mut" section in me2/doc/package.doc.
-
-
- Author
- ------
- Craig Durland (503) 750-3354
- 3419 SW Knollbrook, Corvallis, OR 97333
- craig@cv.hp.com
-